package com.ycsyxt.guide;

/**
 * 余数
 *
 * @author ycs(15241496739 @ 163.com)
 * @date 2022/6/5
 **/
public class Class2 {
    /**
     * 1. 余数的特性
     * 整数是没有边界的，它可能是正无穷，也可能是负无穷。
     * 余数却总是在一个固定的范围内。
     * 生活中，余数可以用来算星期，web编程中可以用在分页中。
     *
     * 2. 同余定理
     * 两个整数a 和 b ,如果他们除以正整数m得到的余数相等，我们就可以说，a和b对于模m余。
     * 同余定理就是用来分类的
     *
     * 3. 求余过程就是个hash函数
     * 每个编程语言都有对应的hash函数。hash有时也会被翻译为散列。
     * 将任意长度的输入，通过hash算法压缩为某一固定长度的输出。
     */

    public static void main(String[] args) {
        System.out.println("a".hashCode());
        System.out.println(hash("a"));
    }

    static final int hash(Object key) {
        int h;
        return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);
    }
}
